From af3c26d45433fba5458a1893c8c040e27c15197f Mon Sep 17 00:00:00 2001 From: Jimi Xenidis Date: Sat, 11 Nov 2006 12:04:45 -0500 Subject: [PATCH] [XEN][POWERPC] Flush the ERAT very early on secondary processors. This patch solves the problem with the "Synchronizing timebase hang" that both SMP and "nosmp" users have experienced. It blows away the ERAT but performing an SLBIA in the seconadry processor "spinup" code. Signed-off-by: Amos Waterland Signed-off-by: Jimi Xenidis Signed-off-by: Hollis Blanchard --HG-- extra : transplant_source : 8%17%C8L%B7%E8%16GW%80B%D3%E7%25%94%1E%E5%F2LQ --- xen/arch/powerpc/powerpc64/exceptions.S | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/arch/powerpc/powerpc64/exceptions.S b/xen/arch/powerpc/powerpc64/exceptions.S index 8b3c9e9fee..08b99b7845 100644 --- a/xen/arch/powerpc/powerpc64/exceptions.S +++ b/xen/arch/powerpc/powerpc64/exceptions.S @@ -564,7 +564,11 @@ _GLOBAL(sleep) */ .globl spin_start spin_start: - + /* We discovered by experiment that the ERAT must be flushed early. */ + isync + slbia + isync + /* Do a cache flush for our text, in case the loader didn't */ LOADADDR(r9, _start) LOADADDR(r8, _etext) -- 2.30.2